package com.springmvc.simple;

import com.springmvc.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpServletRequest;

/**
 * @Author 咕唧
 * @Date 2022/5/20 10:35
 * @Version 1.0
 */
@Controller //spring创建对象
@RequestMapping("/users")
public class UserController {

    /**
     * 第一种获取数据的方式
     * 通过request接收，和原生接收数据方式一致
     * @param request
     */
    @RequestMapping("/add")
    public void addUser(HttpServletRequest request) {
        String username = request.getParameter("username");

        System.out.println("UserController的addUser方法执行了"+username);
    }

    /**
     * 第二种接收数据方式
     * 使用参数接受数据，参数名和传参的数据相同
     * @param username
     * @param password
     */
    @RequestMapping("/add2")
    public void addUser(String username,String password){
        System.out.println("UserController22222222222222的addUser方法执行了");
        System.out.println(username+"-------"+password);
    }

    /**
     * 第三种接收数据方式
     * 使用对象接收数据，对象中的属性要和传参保持一致
     * @param user
     */
    @RequestMapping("/add3")
    public void addUser(User user){
        System.out.println("UserController33333333的addUser方法执行了"+user.toString());
    }

    /**
     * 第四种获取方式，
     * 将参数路径化，只要在对应的位置通过占位符包裹起来
     * @param id
     * @param name
     */
    @RequestMapping("/add4/{id}/{name}")
    public void addUser(@PathVariable("id") Long id, @PathVariable("name") String name){
        System.out.println("UserController4444444444的addUser方法执行了");
        System.out.println(id+"------"+name);
    }

    @RequestMapping("/add5")
    public void add(User user){
        System.out.println("UserController5555555的add方法执行了"+user.toString());
    }


}
